iT邦幫忙

2022 iThome 鐵人賽

DAY 5
1
Modern Web

資料庫也有版本控制系列 第 5

Day 5 : 基於 SQL 語法的資料庫版本控制

  • 分享至 

  • xImage
  •  

二、資料庫版本控制的語法

-> Day 5 : 基於 SQL 語法的資料庫版本控制
Day 6 : 基於 ORM 語法的資料庫版本控制
Day 7 : 基於 SQL 與 ORM 語法的資料庫版本控制差異


在上一篇我們知道了幾種資料庫版控的流程,我們今天來重點講一下關於使用 SQL 語法進行版本控制這件事

直接操作關聯式資料庫的語言就是 SQL(Structured Query Language),從資料表的建立、SP 與 View 的撰寫、再到使用者權限的控制都可以使用 SQL 語法來執行,因此我們可以把操作資料庫的 SQL 依序記錄下來丟上 Git,就算在一個全新的資料庫執行語法也能還原成目前開發中的資料結構版本

而不同廠商的關聯式資料庫所支援的 SQL 略有差異,雖然基本上概念與邏輯是一樣的,但在操作上仍不能把對 MSSQL 下的語法直接放到 MySQL 下執行,部分的資料欄位型別也有可能因為版本不同而不支援,因此產生出來的 SQL 語法是具有資料庫廠牌與資料庫引擎版本的限制的,為了解決這樣的問題,有人想到了利用 Orm 來解決

Orm(Object Relational Mapping) 簡單來講就是可以將程式的操作翻譯成 SQL,而部分的 Orm 具有跨資料庫廠牌與跨多個版本的能力,因此可以在對不同資料庫做遷移時可以將我們定義好的 Orm 語法翻譯成目標資料庫可以接受的 SQL,這一段將會在明天介紹


後續預告
這是資料庫版本控制的語法篇章的第一天,明日將會進行介紹使用 ORM 框架實現版控的做法


上一篇
Day 4 : 資料庫的版本控制與自動化部屬流程
下一篇
Day 6 : 基於 ORM 語法的資料庫版本控制
系列文
資料庫也有版本控制30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言